LH79 - La LH de l'au revoir

LH79 - La LH de l'au revoir

Enquête sur une game jam - une immersion dans un monde inconnu (2/2)

Enquête sur une game jam: deuxième partie (2/2)

Cet article est la deuxième partie de notre rapport d'enquête de la game jam, dont la première partie a été publiée la semaine dernière, dans la LH précédente. Si ce n'est pas déjà fait, nous vous invitons à la consulter avant de lire cet article.

Jour 3 - Dimanche 7 Juin

Après un réveil difficile et un petit sprint pour attraper le bus, tenant à la main leurs baguettes de pain faisant office de petit déjeuner, les jammeurs sont de retour au bâtiment de Centrale à 8h30 pétantes. Si nos experts ne sont pas inquiets à propos de l'avancement du développement du ludiciel, il faudra néanmoins que l'équipe reste productive tout au long de la journée. En effet, il reste de très nombreuses tâches à accomplir: faire les niveaux, peaufiner les mécaniques existantes, corriger des bugs, intégrer l'audio et les dessins manquants, et plein de petites améliorations. D'après nos modèles de pointe, cela correspond à 50 jours-hommes de travail, mais l'efficacité exceptionnelle de l'équipe saura sûrement venir à bout de cette montagne de travail.

On ne peut pas en dire autant de la sécurité de Centrale, qui a définitivement cessé de surveiller le bâtiment, ce qui a permis à tout le monde de rentrer sans problème. L'équipe a donc pu pour une fois s'installer rapidement et reprendre le développement dans un lieu approprié.

La première décision à prendre est le nombre de niveaux présents dans le jeu, ainsi que les mécaniques qui seront utilisées dans chacun. La durée de jeu est un paramètre délicat car l'équipe souhaite intégrer le plus possible de contenu, tout en restant réaliste par rapport au temps qu'il reste. C'est d'ailleurs à ce moment que l'idée d'intégrer un lance-flammes dans le ludiciel, émise au tout début de la jam, est définitivement abandonnée.

Figure 1: Photographie du tableau blanc utilisé par l'équipe pour prendre ses décisions. Les experts pensent que l'étrange dessin sur le tableau de gauche représente le plan initialement prévu d'un des niveau du ludiciel. Les inscriptions sur le tableau de droite restent indéchiffrables à ce jour.

Nous avons pu observer des membres de l'équipe commencer à mettre en place les niveaux dans le moteur de ludiciel (un évènement rare jamais observé jusque ici!). Pour pouvoir les réaliser rapidement, des grandes images de plantes noires sont disposées côte à côte pour former les bords du niveau. L'herbe est réalisée avec une image qui se répète sur tout l'écran, et qui est masquée par les bords du niveau. Il faut cependant faire attention à ce que la répétition de l'image ne se voit pas trop, pour éviter ce problème l'image est présente deux fois avec deux tailles différentes pour casser la répétition visuelle.

Figure 2: Capture d'écran prise pendant la conception de l'herbe. Elle est réalisée à l'aide d'un shader (signifiant dans le dialecte local magie noire), en train d'être écrit dans la partie inférieure de l'écran. On peut observer que l'herbe n'a pas la bonne couleur sur la partie haute de l'écran, c'est parce que la couleur est reliée à la position de chaque pixel afin de déboguer le shader. Ainsi plus un pixel est sur la droite plus il sera rouge, et plus un pixel est bas plus il sera vert.

Figure 3: Vue de l'éditeur de niveaux qui permet d'observer une vue d'ensemble du premier niveau du ludiciel. Chaque zone de couleur a son utilité propre: en bleu, les zones dans lesquelles les plantes n'ont pas le droit de pousser, en vert, les points de sauvegarde, et en orange les zones qui activent ou désactivent des plantes.

Figure 4: Capture d'écran du moteur de ludiciel sur laquelle on peut voir la zone où le protagoniste obtient la machette. Notez les zones bleues ajoutées autour de la machette pour éviter qu'elle ne soit masquée par des plantes.

En parallèle de toutes ces péripéties, un des membres de l'équipe, en même temps qu'il continue à produire des illustrations, édite et mixe les sons enregistrés la veille, processus plus chronophage qu'il n'y parait à première vue.

Avec toutes ces tâches à accomplir, l'heure du repas de midi est arrivée très vite. Les jammeurs ont pu se délecter de succulentes coquillettes à la sauce tomate. Pendant le repas, ils sont informés que la game jam doit se terminer à 19h. Ils sont très surpris, car les game jams se terminent traditionnellement à minuit, à la fin du week-end. Cette nouvelle les inquiète un peu car le ludiciel peut difficilement être prêt pour cette heure. Ils finissent par se fixer comme objectif d'avoir un ludiciel jouable à 19h, et de le peaufiner ensuite dans la soirée.

Malheureusement, tout ne se passe pas exactement comme prévu: plein de bugs liés aux collisions du protagoniste et au système de plantes ralentissent le développement. De plus, l'équilibrage de la difficulté est extrêmement délicat: en fonction de ses paramètres une plante peut rapidement passer d'un buisson inoffensif à un obstacle insurmontable. Il est donc nécessaire de réaliser de nombreux tests à chaque modification du niveau. Il faut aussi s'adapter à toutes les réactions possible des joueureuses, donc la création des niveaux demande une grande attention et beaucoup d'itérations avant de donner un résultat correct.

Figure 5: Nous avons pu récupérer cette capture d'écran alors qu'un des jammeurs, visiblement à bout de forces, essayait pendant 5 bonnes minutes de trouver le pixel manquant pour colorier correctement le dessin au pot de peinture.

Vers 17h, l'équipe réalise que le ludiciel est encore loin d'être prêt. Bien que tous les niveaux soient dans un état plus ou moins jouable, il reste des choses indispensables au ludiciel qui ne sont pas encore faites: il manque des illustrations et des animations, et ni le menu ni la séquence d'introduction n'ont été commencées. L'équipe décide en vitesse de leur contenu et redouble d'efforts pour tout terminer avant la date butoir. Alors qu'ils pensaient ne pas pouvoir finir à temps, une annonce miraculeuse leur est faite. Comme les autres équipes sont également en retard, la date butoir est décalée à 20h.

Grâce à cette heure supplémentaire, l'équipe a pu mettre le ludiciel dans un état correct dans les temps. Ils commencent donc à ranger leurs affaires pour aller voir les autres équipes, car il est prévu que tous les participants se rejoignent pour tester tous les ludiciels faits pendant la game jam. Avant de partir, il ne reste qu'une seule chose à faire, d'habitude une formalité: compiler complètement le ludiciel et le téléverser sur sa page itch, créée pour l'occasion. Mais malheureusement l'équipe se rend compte que comme il a fallu changer de version de Godot pour la game jam, et que personne n'a encore rien exporté depuis cette version, il faut télécharger plusieurs gigas de modules nécessaires à la compilation. Malgré tous les tentatives pour obtenir la meilleure connexion possible (entre le wifi essoufflé du bâtiment et la 4G quasi absente), il est impossible de faire quoi que ce soit. En attendant de retrouver une connexion internet, le ludiciel peut toujours être testé directement sur les ordinateurs des membres de l'équipe.

L'équipe a alors pu tester le ludiciel en conditions réelles, sur des joueurs qui n'avaient jamais touché au ludiciel avant. Tout fonctionnait à peu près comme prévu, mais deux problèmes ont pu être identifiés: le manque global de direction qui fait que les joueurs ne savent plus quoi faire, et des pics de difficulté dans certaines situations où il est impossible d'avancer. Mais maintenant que la date butoir est dépassée, tout le monde peut se détendre un peu avant de reprendre le travail.

Notre équipe de recherche a redoublé d'efforts pour retrouver au fond de nos archives les autres ludiciels produits pendant la game jam, vous pourrez trouver ci-après des liens hypertexte menant vers leurs pages de téléchargement respectives:

Après avoir testé les ludiciels, les jammeurs ont ensuite pu discuter autour d'un bon repas avant de repartir chez eux, pour enfin rattraper toutes les heures de sommeil dont ils avaient besoin, la game jam étant désormais terminée.

Après la jam

Le travail de nos enquêteurs ne s'est cependant pas arrêté le dimanche soir. En effet, dans les jours qui suivent, l'équipe a continué de travailler sur le jeu pour corriger des bugs et prendre en compte les retours des joueureuses. Nous avons pu notamment observer de près un des membres de l'équipe tenter de résoudre des problèmes de performance.

Figure 6: Capture d'écran des outils de débogage du moteur. Chaque fois que la courbe bleue passe au dessus de la ligne rouge, le jeu est trop lent. Après investigation, il apparait que ces pics sont les instants où une plante décide chercher un endroit où pousser.

Nous avons observé une conséquence inattendue des performances désastreuses du ludiciel. Elle concerne la caméra, qui pour suivre le protagoniste est soumise à une équation différentielle du second ordre (oui, nous avons vu les jammeurs ressortir leur cours de physique de prépa pendant la game jam, nous ne pensions pas que de tels évènements pouvaient arriver). Vous n'êtes sûrement pas sans savoir que de tels systèmes ne sont stables que si le pas de temps est suffisamment petit, ainsi quelques joueureuses ont eu la chance de constater une divergence de la position de la caméra, phénomène amusant mais rendant le ludiciel inutilisable. Il a donc été nécessaire de corriger ce problème.

Après quelques ajustements de difficulté supplémentaires, le ludiciel est enfin terminé et disponible sur sa page itch, et l'équipe peut enfin prendre un repos bien mérité.

Conclusion

Cette enquête nous a permi d'en apprendre énormément sur les game jams et de faire avancer grandement la recherche sur le sujet. Nous avons notamment pu constater que de tels évènements étaient très appréciés par les participants, et d'après nos prédictions établies avec les données récoltées sur le terrain, montrent clairement que les game jams plairaient à beaucoup de télécommiens. Nous vous invitons donc à rester informés et à surveiller assidûment les annonces réalisées l'année prochaine, car nos capteurs indiquent que d'autres game jams pourraient se produire.

Nous tenons à préciser que l'initiative de la rédaction du présent article, ainsi que son contenu, relève strictement de notre volonté sans intervention extérieure. Notamment, nous n'avons été ni rémunérés, ni menacés par Télégames, le club de développement de ludiciels de Télécom Paris.